
public class Cube {
	/*
	public unsigned int cornerOrientation = 0;
	public unsigned int edgeOrientation = 0;
	public unsigned int cornerPermutation = 0;
	public unsigned int edgePermutation = 0;
	
	 these are the true values - where the cube is defined as these four.
	 in order to generate the huge(18x2186, 6 x 2047, 18 x 40319? edge permutation will be done
	 with some math instead of a huge table(270GB??!)
	 
	 
	*/
	CornerCubie ULB = new CornerCubie(0,0);
	CornerCubie URB = new CornerCubie(0,1);
	CornerCubie ULF = new CornerCubie(0,2);
	CornerCubie URF = new CornerCubie(0,3);
	CornerCubie DLB = new CornerCubie(0,4);
	CornerCubie DRB = new CornerCubie(0,5);
	CornerCubie DLF = new CornerCubie(0,6);
	CornerCubie DRF = new CornerCubie(0,7);
	/*
	 INCREDIBLY IMPORTANT:
	 On the cube, you can define the cubie as one that moves around the cube, in the position permutation and orientation.
	 OR you can define it as the slots, with permutation as which cubie is there.
	 I'm honestly not sure which is being used here. Orientation is written as the first one, but permutation is written as the second. 
	 ...however.... the coordinate system doesn't care at all, as long as the move tables are generated correctly.
	 meaning you can mix and match and as long as the gen functions work properly it's okay. 
	 TODO: fix this mess, align to one of them, and rewrite code if needed.
	 */
	EdgeCubie UB = new EdgeCubie(true,0);
	EdgeCubie UL = new EdgeCubie(true,1);
	EdgeCubie UR = new EdgeCubie(true,2);
	EdgeCubie UF = new EdgeCubie(true,3);						//Defining the cube as a sum of all of the cubies
	EdgeCubie BL = new EdgeCubie(true,4);						// all of which have a permutation and orientation
	EdgeCubie BR = new EdgeCubie(true,5);
	EdgeCubie FL = new EdgeCubie(true,6);
	EdgeCubie FR = new EdgeCubie(true,7);
	EdgeCubie DB = new EdgeCubie(true,8);
	EdgeCubie DL = new EdgeCubie(true,9);
	EdgeCubie DR = new EdgeCubie(true,10);
	EdgeCubie DF = new EdgeCubie(true,11);
	
	
	public Cube(){
		
	}


	
}
